package com.nd.android.musicboxlibrary.ui.adapter;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
import android.widget.TextView;
import com.common.utils.StarAppUtils;
import com.google.gson.Gson;
import com.nd.android.musicboxlibrary.GlobalSetting;
import com.nd.android.musicboxlibrary.R;
import com.nd.android.musicboxlibrary.business.bean.Album;
import com.nd.android.musicboxlibrary.ui.common.ImageLoaderUtil;
import com.nd.android.musicboxlibrary.ui.common.UnMixable;
import com.nd.android.musicboxlibrary.ui.jaymusicbox.album.details.JayMusicSpecialInfoActivity;
import com.nd.android.musicboxlibrary.ui.player.PlayerActivity;

/**
 * 
 * <br>
 * Created 2014年9月15日 下午11:08:51
 * 
 * @version
 * @author wat.ztag
 * 
 * @see
 */
public class JayMusicSpecialAdapter extends AbstractAdapter<Album, SpecialViewHolder> implements
        OnItemClickListener {

    /**
     * Creates a new instance of JayMusicSpecialAdapter. <br>
     * Created 2014年9月15日 下午11:08:55
     * 
     * @param context Context
     */
    public JayMusicSpecialAdapter(Context context) {
        super(context);
    }

    @Override
    protected SpecialViewHolder getNewHolder() {
        return new SpecialViewHolder();
    }

    @Override
    protected int getItemLayout() {
        return R.layout.mbx_jay_music_special_item;
    }

    @Override
    public void bindView(SpecialViewHolder holder, Album data, int position) {
        holder.txtName.setText(data.getName());
        holder.txtTime.setText(data.getDesc());
        holder.ivSpecial.setImageResource(R.color.mbx_transparent);
        ImageLoaderUtil.displayPicRound(data.getImgUrl(GlobalSetting.MUSIC_ICON_SIZE),
                holder.ivSpecial);
        StarAppUtils.setViewTypeFace(holder.txtTime, false);
        StarAppUtils.setViewTypeFace(holder.txtName, false);
    }

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        PlayerActivity.addSubActivity((Activity) mContext);
        Intent intent = new Intent(mContext, JayMusicSpecialInfoActivity.class);
        intent.putExtra(GlobalSetting.PARAMS_JSON, new Gson().toJson(getItem(arg2)));
        mContext.startActivity(intent);
    }

}

/**
 * 
 * <br>
 * Created 2014年9月15日 下午11:09:03
 * 
 * @version
 * @author wat.ztag
 * 
 * @see
 */
class SpecialViewHolder implements UnMixable {
    TextView txtName;
    TextView txtTime;
    ImageView ivSpecial;

    /**
     * 
     * <br>
     * Created 2014年10月7日 下午10:09:24
     * 
     * @param name TextView
     * @author wat.ztag
     */
    void setName(TextView name) {
        txtName = name;
    }

    /**
     * 
     * <br>
     * Created 2014年10月7日 下午10:09:28
     * 
     * @param time TextView
     * @author wat.ztag
     */
    void setTime(TextView time) {
        txtTime = time;
    }

    /**
     * 
     * <br>
     * Created 2014年10月7日 下午10:09:32
     * 
     * @param special ImageView
     * @author wat.ztag
     */
    void setSpecial(ImageView special) {
        ivSpecial = special;
    }
}
